package com.sam.validate;

import java.util.Map;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.sam.entities.Afiliado;
import com.sam.utils.Utils;

public class ValidarAfiliado extends ActionSupport {

	private static final long serialVersionUID = -8964964457141122973L;

	private String nroafiliado;
	private Afiliado afiliado;

	Map<String, Object> session = ActionContext.getContext().getSession();

	public void validate() {

		if (getNroafiliado() == null || getNroafiliado().trim().isEmpty()) {
			session.put("afiliadoValido", null);
			addFieldError("nroafiliado", "El nro de afiliado es requerido.");

		} else {
			try {
				Long.parseLong(getNroafiliado().trim());
			} catch (NumberFormatException nFE) {
				session.put("afiliadoValido", null);
				addFieldError("nroafiliado",
						"El nro de afiliado debe ser numerico.");

			}
		}

	}

	public String execute() {
		afiliado = Utils.obtenerAfiliado(getNroafiliado());
		if (afiliado == null) {
			addActionError(getText("AFILIADO INVALIDO!"));
			session.put("afiliadoValido", null);
		} else {
			//session.put("afiliadoValido", getNroafiliado());
			session.put("afiliadoValido", afiliado);
		}
		return SUCCESS;
	}


	public String getNroafiliado() {
		return nroafiliado;
	}

	public void setNroafiliado(String nroafiliado) {
		this.nroafiliado = nroafiliado;
	}
	
	public Afiliado getAfiliado() {
		return afiliado;
	}

	public void setAfiliado(Afiliado afiliado) {
		this.afiliado = afiliado;
	}

}
